$(function(){
	
	//加载表格数据
	ajaxTable();	
	createSearch();//创建查询
	//初始化弹出层
	setDialog_add();
	closeDialog_add();
	setDialog_edit();
	closeDialog_edit();
	
	var p = $('#roleInfoTable').datagrid('getPager'); 
	$(p).pagination({ 
		pageNumber:1,
	    pageSize: 10,//每页显示的记录条数，默认为10 
	    pageList: [5,10,15],//可以设置每页记录条数的列表 
	    beforePageText: '第',//页数文本框前显示的汉字 
	    afterPageText: '页    共 {pages} 页', 
	    displayMsg: '当前显示 {from} - {to} 条记录   共 {total} 条记录'
	}); 

});

  function createSearch() {  
       $("<div class='datagrid-btn-separator'></div>'").appendTo(  
        ".datagrid-toolbar"); 
       $("<label>角色名</label><input id='s_roleName' name='s_roleName'/>").appendTo(  
       ".datagrid-toolbar");  
      
     
   }  
 
   
/**--------------table------------------**/
/**
 * 加载表格数据
 */
function ajaxTable(){
	//加载表格
	$('#roleInfoTable').datagrid({
		
			toolbar:[{//正上方工具栏
			text:'添加角色',
			iconCls:'icon-add',
			handler:function(){
				//点击工具栏运行的js方法
				openDialog_add();
			}
		},'-',{
				text:'批量删除',
				iconCls:'icon-cancel',
				handler:function(){
					batch('delete');
				}
		}, '-',{
			  	   text:'查找',
			  	   iconCls:'icon-search',
			  	   handler:function(){
			  		  search();
			  	   }
		
			    }  
		],
		
		loadMsg:'数据加载中,请稍后...',
		onLoadError:function(){
			alert('数据加载失败!');
		},
		queryParams:{//查询条件			
		},
		onClickRow:function(rowIndex, rowData){
			//取消选择某行后高亮
			//alert(rowData.userId);
			$('#roleInfoTable').datagrid('unselectRow', rowIndex);
		},
		
		onLoadSuccess:function(){
			var value = $('#roleInfoTable').datagrid('getData')['errorMsg'];
			if(value!=null){
				alert("错误消息:"+value);
			}
		}
	}).datagrid('acceptChanges');
}
/**
 * 设置操作列的信息
 * 参数说明
          value 这个可以不管，但是要使用后面 row 和index 这个参数是必须的
          row   当前行的数据
          index 当前行的索引  从0 开始
 */
function optFormater(value,row,index){
	var  roleId = row.roleId;//用户ID
	var id_code = roleId+",'"+row.roleName+"','"+row.descript+"'";	
	var edit = '<a href="javascript:openDialog_edit('+id_code+')">编辑</a> | ';
	var del = '<a href="#" onclick="doDel('+row.roleId+')">删除</a>';
	return edit+del;
};
/**--------------添加操作弹出框------------------**/
//设置弹出框的属性
function setDialog_add(){
	$('#roleInfoAdd').dialog({
		title : '角色添加',
		modal: true,         	//模式窗口：窗口背景不可操作
		collapsible : true,  	//可折叠，点击窗口右上角折叠图标将内容折叠起来
		resizable : true,    	//可拖动边框大小
		onClose : function(){   //继承自panel的关闭事件
			roleInfoAddReset();
		}
	});
}
//打开对话框
function openDialog_add(){
	$('#roleInfoAdd').dialog('open');
}
//关闭对话框
function closeDialog_add(){
	$('#roleInfoAdd').dialog('close');
}
//执行用户添加操作
function roleInfoAdd(){
	var validateResult = true;
	//easyui 表单验证
	$('#table_roleInfoAdd input').each(function () {
		if ($(this).attr('required') || $(this).attr('validType')) {
			if (!$(this).validatebox('isValid')) {
				//如果验证不通过，则返回false
				validateResult = false;
				return;
		    }
		}
  });
	if(validateResult==false){
		return;
	}
	
	$.ajax({
		async : false,
		cache:false,
		type: 'POST',
		dataType : "json",
		data : {
			"roleName" : $("#roleInfoAdd_roleName").val(),
			"descript" : $("#roleInfoAdd_descript").val()
		},
		url:'../../role/addrole.do',//请求的action路径
		error: function () {//请求失败处理函数
			alert('请求失败');
		},success:function(data){
			var messgage = "添加成功!";
			if(data==null){//未返回任何消息表示添加成功
				roleInfoAddReset();
				//刷新列表
				reloadTable();
			}else if(data.errorMsg!=null){//返回异常信息
				messgage = data.errorMsg;
			}
			$("#roleInfoAdd_message").html(messgage);
		}
	});
}
//用户添加页面数据重置操作
function roleInfoAddReset(){
	$("#roleInfoAdd_message").html("");
	$("#roleInfoAdd_roleName").val("");
	$("#roleInfoAdd_descript").val("");
}
/**
 * 批量操作
 * @return
 */
function batch(flag){
	if($('#roleInfoTable').datagrid('getSelected')){
		//首先如果用户选择了数据，则获取选择的数据集合
		var ids = [];
		//var cods = [];
		var nas=[];
		var selectedRow = $('#roleInfoTable').datagrid('getSelections');
		//alert(selectedRow.length);
		for(var i=0;i<selectedRow.length;i++){
			ids.push(selectedRow[i].roleId);
			//cods.push(selectedRow[i].userNo);
			nas.push(selectedRow[i].roleName);
			
		}
		var roleId = ids.join(',');//用户编号
		
			//删除操作
			$.messager.confirm('删除提示', '你确定永久删除下列角色吗?<br/>'+nas.join(','), function(r){
				if (r){
					var url = '../../role/delrole.do?roleId='+roleId;
					changeStatus(url);
					
				}
			});

		
	}//end of if
	$("#roleInfoTable").datagrid('clearSelections'); 
}
/**
 * 修改状态的Ajax
 * @param url
 * @return
 */
function changeStatus(url){
	$.ajax({
		async : false,
		cache:false,
		type: 'POST',
		dataType : "json",
		url:url,//请求的action路径
		error: function () {//请求失败处理函数
			alert('请求失败');
		},success:function(data){
			if(data!=null){//返回异常信息
				$.messager.alert('错误提示',data.errorMsg,'error');
			}
			reloadTable();
		}
	});
}
//刷新表格
function reloadTable(){
	  var queryParams = $('#roleInfoTable').datagrid('options').queryParams;  
	 // queryParams.userNo=$('#s_userNo').val();	
	  queryParams.roleName=$('#s_roleName').val();
	  $('#roleInfoTable').datagrid('options').queryParams=queryParams;        
	  $("#roleInfoTable").datagrid('reload'); 
	//alert($("#s_userName").val());
	//$('#userInfoTable').datagrid('reload');
}
function search()
{    
	  //$('#userInfoTable').datagrid('options').pageNumber.val(1);       
	  reloadTable();

}
/**--------------编辑操作弹出框------------------**/
//设置弹出框的属性
function setDialog_edit(){
	$('#roleInfoEdit').dialog({
		title : '角色编辑',
		modal: true,         	//模式窗口：窗口背景不可操作
		collapsible : true,  	//可折叠，点击窗口右上角折叠图标将内容折叠起来
		resizable : true    	//可拖动边框大小
	});
}
//打开对话框
function openDialog_edit(roleId,roleName,descript){
	roleInfoEditReset(roleId,roleName,descript);
	$('#roleInfoEdit').dialog('open');
}
//关闭对话框
function closeDialog_edit(){
	$('#roleInfoEdit').dialog('close');
}
//根据用户id查询用户的信息
function roleInfoEditReset(roleId,roleName,descript){
	$("#roleInfoEdit_message").html("");
	$("#roleInfoEdit_roleId").val(roleId);
	$("#roleInfoEdit_roleName").val(roleName);
	$("#roleInfoEdit_descript").val(descript);
}
//执行用户编辑操作
function roleInfoEdit(){
	var validateResult=true;
	//easyui 表单验证
	$('#table_roleInfoEdit input').each(function () {
		if ($(this).attr('required') || $(this).attr('validType')) {
			
			if (!$(this).validatebox('isValid')) {
				
				//如果验证不通过，则返回false		
				
				validateResult = false;
				return;
		    }			
		}
  });
	if(validateResult==false){
		return;
	}
	
	$.ajax({
		async : false,
		cache:false,
		type: 'POST',
		dataType : "json",
		data : {
			"roleId":$("#roleInfoEdit_roleId").val(),
			"roleName" : $("#roleInfoEdit_roleName").val(),
			"descript" : $("#roleInfoEdit_descript").val()
		},
		url: '../../role/updaterole.do',//请求的action路径
		error: function () {//请求失败处理函数
			alert('请求失败');
		},success:function(data){
			var messgage = "修改成功!";
			if(data==null){//未返回任何消息表示添加成功
				//刷新列表
				reloadTable();
			}else if(data.errorMsg!=null){//返回异常信息
				messgage = data.errorMsg;
			}
			$("#roleInfoEdit_message").html(messgage);
		}
	});
}
/**--------------执行删除操作------------------**/
function doDel(roleId){
	$.messager.confirm('删除提示', '你确定永久删除该数据吗?', function(r){
		if (r){
			var url = "../../role/delrole.do?roleId="+roleId;
			changeStatus(url);
		}
	});
}